#ifndef CAMERA_H
#define CAMERA_H

class CCamera
{
	private:
		float* CameraRotacao;
		float* CameraTranslacao;
		float* Mvisao;
		float* Mprojecao;
		float angleH;
		float angleV;
		void Rotation(float SetAngleH, float SetAngleV);
		void Translation(float x, float y, float z);
		float CameraPosition[3];
	public:
		void SetRotation(float, float);
		void SetTranslation(float x, float y, float z);
		void Projection(float near, float far, float fov, float aspect);
		void View(int,int);
		void TurnLeft(float);
		void TurnRight(float);
		void LookUp(float);
		void LookDown(float);
		void MoveForward(float);
		void MoveBackward(float);
		void StrafeLeft(float);
		void StrafeRight(float);
		void MoveUp(float);
		void MoveDown(float);
		CCamera();
};

#endif